# Makefile
# make -p para ver variaveis gerais

SHELL=/bin/bash

CC=gcc
CFLAGS=-g -L. -I. -lGL -lGLU -lglut -lm #-msse -msse2 -msse3
#-march=nocona -Os -pipe -ftree-vectorize -msse -msse2 -msse3 -fopenmp -pthread
LDFLAGS=-lm
SRC_EXT=.c
LIB_EXT=.h
OBJ_EXT=.o

#############################################################################################
# Programa Principal
MAIN_SRC=main.c
SRCS=screen.c points.c camera.c object_3d.c objects_3d.c obj_model.c matrix.c simple_objs.c
OBJS=$(subst $(SRC_EXT),$(OBJ_EXT),$(MAIN_SRC)) $(subst $(SRC_EXT),$(OBJ_EXT),$(SRCS))
LIBS=$(subst $(SRC_EXT),$(LIB_EXT),$(SRCS))
PROGRAM=bin

#############################################################################################
# Phony
.PHONY: depend clean


#############################################################################################
# Compilacao do Programa Principal
$(PROGRAM):$(MAIN_SRC) $(SRCS) $(LIBS) $(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $(PROGRAM)

#############################################################################################
# Compilacao dos Objetos
$(OBJS): %$(OBJ_EXT): %$(SRC_EXT)
	$(CC) $(CFLAGS) $(LDFLAGS) -c $< -o $@

clean:
	rm -f *$(OBJ_EXT)



